<?xml version='1.0' encoding='ISO-8859-1' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"      
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/pages/core/plantilla/plantillaPrincipal.xhtml">
        <ui:define name="contenido">             
            <h:form onsubmit="return checkSubmit();"  id="frmPrincipal">
                <p:panel id="pnlPrincipal" header="#{i18n['form.plan.produccion.titulo.panel']} / #{sessionMBean.titulo} #{planProduccionMBean.dto.id}" style="#{applicationMBean.estiloTitulo}">                    
                    <h:panelGrid id="pgFormDto" columns="10" cellpadding="4">
                        <h:outputLabel for="itDescripcion" value="#{i18n['form.plan.produccion.descripcion']}" styleClass="label"/>
                        <p:inputText id="itDescripcion" label="#{i18n['form.plan.produccion.descripcion']}"  maxlength="200"
                                     value="#{planProduccionMBean.dto.descripcion}"  readonly="#{sessionMBean.accion == applicationMBean.ver}"
                                     required="true" size="60" styleClass="txtCampoObligatorio">
                            <f:validateLength maximum="200" minimum="1"/>
                        </p:inputText>

                        <h:outputLabel for="itDescripcionCorta" value="#{i18n['form.plan.produccion.descripcion.corta']}" styleClass="label"/>
                        <p:inputText id="itDescripcionCorta" label="#{i18n['form.plan.produccion.descripcion.corta']}"  maxlength="10"
                                     value="#{planProduccionMBean.dto.descripcionCorta}"  readonly="#{sessionMBean.accion == applicationMBean.ver}"
                                     required="true" size="10" styleClass="txtCampoObligatorio">
                            <f:validateLength maximum="10" minimum="1"/>
                        </p:inputText>

                        <h:outputLabel for="itUnidadProceso" styleClass="label" value="#{i18n['form.orden.fabricacion.producto']}"/>                    
                        <p:autoComplete id="itUnidadProceso" value="#{planProduccionMBean.dto.productoDetaDto}" required="true" completeMethod="#{productoMBean.autoCompletarProductoDeta}"
                                        label="#{i18n['form.orden.fabricacion.producto']}" disabled="#{sessionMBean.accion == applicationMBean.ver}" maxResults="10" minQueryLength="#{applicationMBean.minQueryLengthAutoComplete}" queryDelay="1" 
                                        converter="productoDetaConvert" var="sn" itemLabel="#{sn.textoAutocomplete}" itemValue="#{sn}" size="50" forceSelection="true">
                            <p:column style="#{applicationMBean.estiloObligatorio}" >
                                #{sn.productoDto.descripcion} || #{sn.unidadMedidaDto.nombre}
                            </p:column>
                        </p:autoComplete> 

                        <h:outputLabel for="itRadioConversion" value="#{i18n['form.plan.produccion.radio.conversion']}" styleClass="label"/>
                        <p:inputText id="itRadioConversion" label="#{i18n['form.plan.produccion.radio.conversion']}" style="#{applicationMBean.estiloObligatorio}"
                                     value="#{planProduccionMBean.dto.radioConversion}"  readonly="#{sessionMBean.accion == applicationMBean.ver}"
                                     onkeypress="return fn_validaTecla('decimal',this)"
                                     required="false" size="10" >
                            <f:validateLength minimum="1" maximum="9" />
                            <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                        </p:inputText>

                        <h:outputLabel for="itTiempoEstimado" value="#{i18n['form.plan.produccion.tiempo.estimado']}" styleClass="label"/>
                        <p:inputText id="itTiempoEstimado" label="#{i18n['form.plan.produccion.tiempo.estimado']}" style="#{applicationMBean.estiloObligatorio}"
                                     value="#{planProduccionMBean.dto.tiempoEstimado}"  readonly="true"
                                     onkeypress="return fn_validaTecla('decimal',this)"
                                     required="false" size="10" >
                            <f:validateLength minimum="1" maximum="9" />
                            <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                        </p:inputText>

                        <h:outputLabel styleClass="label" value="#{i18n['form.plan.produccion.explotar.fases']}"/>
                        <p:selectBooleanCheckbox value="#{planProduccionMBean.dto.explotar}"  style="#{applicationMBean.estilo}"  disabled="#{sessionMBean.accion == applicationMBean.ver}"/>

                        <h:outputLabel styleClass="label" value="#{i18n['general.label.activo']}"/>
                        <p:selectBooleanCheckbox value="#{planProduccionMBean.dto.estado}"  style="#{applicationMBean.estilo}"  disabled="#{sessionMBean.accion == applicationMBean.ver}"/>
                    </h:panelGrid>

                    <h:outputLabel value="#{i18n['general.label.campos.auditoria']}" styleClass="subTitulo" rendered="#{planProduccionMBean.dto.id!=null}"/>
                    <p:separator rendered="#{planProduccionMBean.dto.id!=null}"/>
                    <h:panelGrid id="pgCamposAuditoria" columns="6" cellspacing="10" rendered="#{planProduccionMBean.dto.id!=null}">
                        <h:outputLabel styleClass="label" value="#{i18n['general.label.usuario.creacion']}"/>
                        <h:outputLabel styleClass="txtCampo" value="#{planProduccionMBean.dto.usuarioCreacionDto.descripcion}"/>
                        <h:outputLabel styleClass="label" value="#{i18n['general.label.fecha.creacion']}"/>
                        <h:outputLabel styleClass="txtCampo" value="#{planProduccionMBean.dto.fechaCreacion}">
                            <f:convertDateTime pattern="#{applicationMBean.formatoFechaHoraSegundos}"  timeZone="#{applicationMBean.timeZone}"/>
                        </h:outputLabel>                            
                        <h:outputLabel styleClass="label" value="#{i18n['general.label.terminal.creacion']}"/>
                        <h:outputLabel styleClass="txtCampo" value="#{planProduccionMBean.dto.terminalCreacion}"/>
                        <h:outputLabel styleClass="label" value="#{i18n['general.label.usuario.modificacion']}"/>
                        <h:outputLabel styleClass="txtCampo" value="#{planProduccionMBean.dto.usuarioDto.descripcion}"/>
                        <h:outputLabel styleClass="label" value="#{i18n['general.label.fecha.modificacion']}"/>
                        <h:outputLabel styleClass="txtCampo" value="#{planProduccionMBean.dto.fecha}">
                            <f:convertDateTime pattern="#{applicationMBean.formatoFechaHoraSegundos}"  timeZone="#{applicationMBean.timeZone}"/>
                        </h:outputLabel>                            
                        <h:outputLabel styleClass="label" value="#{i18n['general.label.terminal.modificacion']}"/>
                        <h:outputLabel styleClass="txtCampo" value="#{planProduccionMBean.dto.terminal}"/>
                    </h:panelGrid>
                    <f:facet name="footer">
                        <p:commandButton title="#{i18n['general.button.guardar.tip']}" accesskey="#{applicationMBean.keyGuardar}" ajax="false"
                                         icon="ui-icon ui-icon-disk" rendered="#{sessionMBean.accion != applicationMBean.ver}"
                                         style="#{applicationMBean.estilosBtnGuardar}"
                                         onclick="return confirm('#{i18n.general_mensaje_confirmacion}');"
                                         value="#{i18n['general.button.guardar']}"
                                         action="#{planProduccionMBean.guardar}">
                        </p:commandButton>

                        <p:commandButton title="#{i18n['general.button.atras.tip']}" accesskey="#{applicationMBean.keyRetroceder}" ajax="false"
                                         icon="ui-icon ui-icon-arrowreturnthick-1-w" immediate="true"
                                         style="#{applicationMBean.estilosBtnRetroceder}"
                                         value="#{i18n['general.button.atras']}"
                                         action="#{planProduccionMBean.retroceder}">
                        </p:commandButton>

                        <p:commandButton title="#{i18n['bitacora.ver.historial']}"
                                         icon="ui-icon ui-icon-calculator"
                                         value="#{i18n['bitacora.ver.historial']}"
                                         ajax="true"
                                         style="#{applicationMBean.estilosBtnHistorial}"
                                         rendered="#{planProduccionMBean.dto.id!=null}"
                                         oncomplete="dlgBitacoraEntidad.show()"
                                         update=":frmPopupBitacoras:pgFormPopupBitacoras"
                                         actionListener="#{planProduccionMBean.verBitacora}">
                        </p:commandButton>

                        <p:commandButton title="#{i18n['general.button.nuevo.tip']}" accesskey="#{applicationMBean.keyNuevo}"
                                         icon="ui-icon ui-icon-plus" rendered="#{planProduccionMBean.dto.id!=null}"
                                         value="#{i18n['general.button.nuevo']}"
                                         style="#{applicationMBean.estilosBtnNuevo}"
                                         ajax="false"
                                         actionListener="#{planProduccionMBean.nuevo}">
                        </p:commandButton>
                    </f:facet>                    
                </p:panel>

                <p:panel id="pnlPrincipalDeta" header="#{i18n['panel.titulo.plan.produccion.deta']}" style="#{applicationMBean.estiloTitulo}" rendered="#{planProduccionMBean.dto.id!=null}">
                    <h:panelGrid id="pngTabla" columns="1">
                        <h:panelGrid id="pgFormDtoDeta" columns="13" cellpadding="4">

                            <p:commandButton title="#{i18n['plan.produccion.boton.nueva.operacion']}"
                                             icon="ui-icon ui-icon-plus"
                                             style="#{applicationMBean.estilosBtnNuevoDetalle}"
                                             value="#{i18n['plan.produccion.boton.nueva.operacion']}" 
                                             rendered="#{sessionMBean.accion!=applicationMBean.ver}" ajax="true"
                                             oncomplete="carDialogOperacion.show()" 
                                             update=":tabPrincOperacion"
                                             action="#{planProduccionMBean.nuevaOperacion}">                                    
                            </p:commandButton>  

                        </h:panelGrid>
                        <p:dataTable id="tblPrincipalDeta" value="#{planProduccionMBean.dto.listaOperacion}" var="dto" widgetVar="widTable" 
                                     rowKey="#{dto.id}"
                                     emptyMessage="#{i18n['plan.produccion.no.detalles']}" styleClass="estiloPanel">                        
                            <p:column style="text-align:center;">
                                <h:panelGrid id="pgBotonesGrillaDeta" columns="10" cellspacing="5" styleClass="estiloPanelGrid">
                                    <p:commandButton icon="ui-icon ui-icon-search" title="#{i18n['general.button.ver.tip']}"
                                                     action="#{planProduccionMBean.verOperacion}" ajax="true"
                                                     oncomplete="carDialogOperacion.show()" update=":tabPrincOperacion"
                                                     >
                                        <f:setPropertyActionListener value="#{dto}" target="#{planProduccionMBean.detaOperacionDto}"/>
                                    </p:commandButton>                                
                                    <p:commandButton icon="ui-icon ui-icon-pencil" title="#{i18n['general.button.editar.tip']}" 
                                                     rendered="#{sessionMBean.accion!=applicationMBean.ver}"
                                                     update=":tabPrincOperacion" ajax="true"
                                                     action="#{planProduccionMBean.editarOperacion}" 
                                                     oncomplete="carDialogOperacion.show()">
                                        <f:setPropertyActionListener value="#{dto}" target="#{planProduccionMBean.detaOperacionDto}"/>
                                    </p:commandButton>
                                </h:panelGrid>
                            </p:column>   
                            <p:column headerText="#{i18n['general.label.id']}"  styleClass="general">
                                <h:outputText value="#{dto.id}" styleClass="general" />
                            </p:column>
                            <p:column headerText="#{i18n['form.plan.produccion.nombre']}"  styleClass="general">
                                <h:outputText value="#{dto.nombre}" styleClass="general" />
                            </p:column>
                            <p:column headerText="#{i18n['form.plan.produccion.descripcion']}">
                                <h:outputText value="#{dto.descripcion}" styleClass="general"/>
                            </p:column>
                            <p:column headerText="#{i18n['form.plan.produccion.proceso']}">
                                <h:outputText value="#{dto.procesoDto.descripcion}" styleClass="general"/>
                            </p:column>
                            <p:column headerText="#{i18n['form.plan.produccion.tiempo.estimado']}">
                                <h:outputText value="#{dto.tiempoEstimado}" styleClass="general">
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                </h:outputText>
                            </p:column>
                            <p:column headerText="#{i18n['form.plan.produccion.uso.centro.costo']}">
                                <h:outputText value="#{dto.usoCentroCosto}" styleClass="general">
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                </h:outputText>
                            </p:column>
                            <p:column headerText="#{i18n['form.plan.produccion.tiempo.preparacion']}">
                                <h:outputText value="#{dto.tiempoPreparacion}" styleClass="general">
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                </h:outputText>
                            </p:column>
                            <p:column headerText="#{i18n['form.plan.produccion.multiplicador']}">
                                <h:outputText value="#{dto.multiplicador}" styleClass="general">
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                                </h:outputText>
                            </p:column>                            
                            <p:column headerText="#{i18n['general.label.activo']}">
                                <h:outputText value="#{dto.estadoTexto}" styleClass="general" />
                            </p:column>           
                        </p:dataTable>
                    </h:panelGrid>
                </p:panel>
            </h:form>          
            <p:dialog id="dialogOperacion" header="#{i18n['panel.titulo.plan.produccion.operacion']}" widgetVar="carDialogOperacion" resizable="false"  
                      width="800" height="420" modal="true">  
                <p:messages id="msjDialogOperacion" showDetail="false" autoUpdate="true"/>
                <ui:include src="/pages/prod/planProduccion/planProduccionOperacion.xhtml" /> 
            </p:dialog>
            <p:dialog id="dialogProducto" header="#{i18n['panel.titulo.plan.produccion.producto']}" widgetVar="carDialogProducto" resizable="false"  
                      width="750" height="280" modal="true">  
                <p:messages id="msjDialogProducto" showDetail="false" autoUpdate="true"/>
                <ui:include src="/pages/prod/planProduccion/planProduccionProducto.xhtml" /> 
            </p:dialog>
            <p:dialog id="dialogOperario" header="#{i18n['panel.titulo.plan.produccion.operario']}" widgetVar="carDialogOperario" resizable="false"  
                      width="600" height="140" modal="true">  
                <p:messages id="msjDialogOperario" showDetail="false" autoUpdate="true"/>
                <ui:include src="/pages/prod/planProduccion/planProduccionOperario.xhtml" /> 
            </p:dialog>
            <p:dialog id="dialogMaquina" header="#{i18n['panel.titulo.plan.produccion.maquina']}" widgetVar="carDialogMaquina" resizable="false"  
                      width="350" height="180" modal="true">  
                <p:messages id="msjDialogMaquina" showDetail="false" autoUpdate="true"/>
                <ui:include src="/pages/prod/planProduccion/planProduccionMaquina.xhtml" /> 
            </p:dialog>
            <p:dialog id="dialogIndirecto" header="#{i18n['panel.titulo.plan.produccion.costo.indirecto']}" widgetVar="carDialogIndirecto" resizable="false"  
                      width="450" height="160" modal="true">  
                <p:messages id="msjDialogIndirecto" showDetail="false" autoUpdate="true"/>
                <ui:include src="/pages/prod/planProduccion/planProduccionIndirecto.xhtml" /> 
            </p:dialog>
            <p:dialog id="idDlgBitacoraEntidad" header="#{i18n['bitacora.titulo']}" widgetVar="dlgBitacoraEntidad" resizable="false"  
                      width="900" height="450" modal="true">                        
                <ui:include src="/pages/bitacora/bitacoras.xhtml" /> 
            </p:dialog>
        </ui:define>
    </ui:composition>
</html>